package com.qdc.datacenters.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;


/**
 * 超时规则会话表(ChatMsgRuleMsg)表实体类
 *
 * @author danmo
 * @since 2024-03-18 16:34:47
 */
@Schema
@Data
@SuppressWarnings("serial")
@TableName("chat_msg_rule_msg")
public class ChatMsgRuleMsg extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 941068555902840404L;

    /**
     * 主键id
     */

    @Schema(description = "主键id")
    @TableId(type = IdType.AUTO)
    private Long id;


    /**
     * 规则ID
     */
    @Schema(description = "规则ID")
    @TableField("rule_id")
    private Long ruleId;


    /**
     * 消息ID
     */
    @Schema(description = "消息ID")
    @TableField("msg_id")
    private String msgId;


    /**
     * 发起人ID
     */
    @Schema(description = "发起人ID")
    @TableField("from_id")
    private String fromId;


    /**
     * 接收人ID
     */
    @Schema(description = "接收人ID")
    @TableField("receive_id")
    private String receiveId;


    /**
     * 群聊ID
     */
    @Schema(description = "群聊ID")
    @TableField("room_id")
    private String roomId;


    /**
     * 会话类型 1-客户 2-群聊
     */
    @Schema(description = "会话类型 1-客户 2-群聊")
    @TableField("chat_type")
    private Integer chatType;


    /**
     * 发送时间
     */
    @Schema(description = "发送时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("send_time")
    private Date sendTime;


    /**
     * 回复时间
     */
    @Schema(description = "回复时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("reply_time")
    private Date replyTime;


    /**
     * 回复消息ID
     */
    @Schema(description = "回复消息ID")
    @TableField("reply_msg_id")
    private String replyMsgId;


    /**
     * 回复状态 1-未回复 2-已回复
     */
    @Schema(description = "回复状态 1-未回复 2-已回复")
    @TableField("reply_status")
    private Integer replyStatus;


    /**
     * 计划超时时间
     */
    @Schema(description = "计划超时时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("time_out")
    private Date timeOut;


    /**
     * 状态 0-未通知 1-已通知 2-通知失败
     */
    @Schema(description = "状态 0-未通知 1-已通知 2-通知失败")
    @TableField("status")
    private Integer status;


}

